Apparatus and method for controlling user interface of computing apparatus

ABSTRACT

Disclosed is an apparatus including a touch sensitive user interface and a processor. The processor is configured to detect a first contact at a first position on the user interface, determine a movement of the first contact from the first position and if the movement is less than a predetermined movement threshold, when a release of the first contact is detected, move a first object on the user interface from an initial position on the user interface to an area at or near the first position. If the movement is greater than the predetermined movement threshold to identify a second position corresponding to an area near an end point of the movement and when the release of the first contact is detected, execute an action on the second position from the first object.

TECHNICAL FIELD

The present disclosure relates generally to user interfaces; and morespecifically, to graphical user interfaces for gaming systems.

BACKGROUND

Generally, usage of portable communication devices such as smartphonesand tablet computers have increased manifold over the recent years.Further, apart from use for communication, navigation, increasingproductivity, and so forth, such devices are also used for providingentertainment to a user thereof. For example, the devices usually haveapplications that allow users to watch videos, read books, captureimages and engage in social networking. Additionally, the devices mayalso have applications that allow users to play games.

Usually, the games may have an object (such as a character) that iscontrolled to complete various objectives of the game, such as collectrewards or eliminate other objects from the game. Conventionally, suchobjects are controlled by pressing one or more keys on a keypadassociated with a device. However, with the introduction of smartphoneshaving a touchscreen (and lacking the keypad associated withconventional mobile phones), control of such objects is associated withvarious problems.

For example, generally, part of an area of graphical user interface of agame is reserved for providing controls such as a virtual keyboard, oneor more buttons for activating abilities possessed by the object and soforth. However, such reservation of the area of the graphical userinterface reduces an area available for displaying elements and/orinformation associated with the game. Additionally, in an instance whenthe game employs complex gaming mechanics, the graphical user interfacemay be substantially blocked from view of the user due to placement ofmultiple fingers on the touchscreen. It will be appreciated that suchproblems result in a cumbersome gaming experience for the user.

Moreover, to overcome the problems, a game may employ simplified gamingmechanics such as limited controls, limited abilities possessed by theobjects, auto-movement, auto-aiming, auto-firing, slow gameplay speedand so forth. Such simplification of the gaming mechanics makes for aless challenging, and consequently, a less enjoyable gaming experiencefor the user.

Therefore, in light of the foregoing discussion, there exists a need toovercome the aforementioned drawbacks associated with gaming experience.

SUMMARY

The present disclosure seeks to provide an apparatus. The presentdisclosure also seeks to provide a method for controlling a userinterface of a computing apparatus. The present disclosure seeks toprovide a solution to the existing problems associated with gaming ondevices having a touch sensitive user interface. An aim of the presentdisclosure is to provide a solution that overcomes at least partiallythe problems encountered in prior art, and provides simple and effectivecontrol of touch sensitive user interface, thereby enabling an enjoyablegaming experience.

In one aspect, an embodiment of the present disclosure provides anapparatus comprising: a touch sensitive user interface; and

-   a processor;-   wherein the processor is configured to:    -   detect a first contact at a first position on the user        interface;    -   determine a movement of the first contact from the first        position; and-   if the movement is less than a predetermined movement threshold,    when a release of the first contact is detected, move a first object    on the user interface from an initial position on the user interface    to an area at or near the first position; or    -   if the movement is greater than the predetermined movement        threshold:-   identify a second position corresponding to an area near an endpoint    of the movement; and    -   when the release of the first contact is detected, execute an        action on the second position from the first object.

In another aspect, an embodiment of the present disclosure provides amethod for controlling a user interface of a computing apparatus, thecomputing apparatus comprising a processor configured to execute machinereadable instructions, wherein execution of the machine-readableinstructions by the processor causes the processor to:

-   -   detect a first contact at a first position on the user        interface;

-   determine a movement of the first contact from the first position;    and    -   if the movement is less than a predetermined movement threshold,        when a release of the first contact is detected, move a first        object on the user interface from an initial position on the        user interface to an area at or near the first position; or

-   if the movement is greater than the predetermined movement    threshold:    -   identify a second position corresponding to an area near an end        point of the movement; and    -   when the release of the first contact is detected, execute an        action on the second position from the first object.

Embodiments of the present disclosure substantially eliminate or atleast partially address the aforementioned problems in the prior art,and enable simple and convenient control of touch sensitive userinterface.

Additional aspects, advantages, features and objects of the presentdisclosure would be made apparent from the drawings and the detaileddescription of the illustrative embodiments construed in conjunctionwith the appended claims that follow.

It will be appreciated that features of the present disclosure aresusceptible to being combined in various combinations without departingfrom the scope of the present disclosure as defined by the appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

The summary above, as well as the following detailed description ofillustrative embodiments, is better understood when read in conjunctionwith the appended drawings. For the purpose of illustrating the presentdisclosure, exemplary constructions of the disclosure are shown in thedrawings. However, the present disclosure is not limited to specificmethods and instrumentalities disclosed herein. Moreover, those in theart will understand that the drawings are not to scale. Whereverpossible, like elements have been indicated by identical numbers.

Embodiments of the present disclosure will now be described, by way ofexample only, with reference to the following diagrams wherein:

FIG. 1 is a block diagram of an apparatus, in accordance with anembodiment of the present disclosure;

FIGS. 2A, 2B, 2C to 7 are user interfaces of the apparatus of FIG. 1, inaccordance with various embodiments of the present disclosure; and

FIG. 8 illustrates steps of a method for controlling a user interface ofa computing apparatus.

In the accompanying drawings, an underlined number is employed torepresent an item over which the underlined number is positioned or anitem to which the underlined number is adjacent. A non-underlined numberrelates to an item identified by a line linking the non-underlinednumber to the item. When a number is non-underlined and accompanied byan associated arrow, the non-underlined number is used to identify ageneral item at which the arrow is pointing.

DETAILED DESCRIPTION OF EMBODIMENTS

The following detailed description illustrates embodiments of thepresent disclosure and ways in which they can be implemented. Althoughsome modes of carrying out the present disclosure have been disclosed,those skilled in the art would recognize that other embodiments forcarrying out or practicing the present disclosure are also possible.

In one aspect, an embodiment of the present disclosure provides anapparatus comprising:

-   a touch sensitive user interface; and-   a processor;-   wherein the processor is configured to:    -   detect a first contact at a first position on the user        interface;-   determine a movement of the first contact from the first position;    and    -   if the movement is less than a predetermined movement threshold,        when a release of the first contact is detected, move a first        object on the user interface from an initial position on the        user interface to an area at or near the first position; or-   if the movement is greater than the predetermined movement    threshold:    -   identify a second position corresponding to an area near an end        point of the movement; and    -   when the release of the first contact is detected, execute an        action on the second position from the first object.

In another aspect, an embodiment of the present disclosure provides amethod for controlling a user interface of a computing apparatus, thecomputing apparatus comprising a processor configured to execute machinereadable instructions, wherein execution of the machine-readableinstructions by the processor causes the processor to:

-   -   detect a first contact at a first position on the user        interface; determine    -   a movement of the first contact from the first position; and    -   if the movement is less than a predetermined movement threshold,        when a release of the first contact is detected, move a first        object on the user interface from an initial position on the        user interface to an area at or near the first position; or    -   if the movement is greater than the predetermined movement        threshold:        -   identify a second position corresponding to an area near an            end point of the movement; and

-   when the release of the first contact is detected, execute an action    on the second position from the first object.

The apparatus comprises a touch sensitive user interface. In anembodiment, the apparatus is a portable communication device. Forexample, the apparatus is a smartphone, a tablet computer, a laptopcomputer and so forth. In such instance, the touch sensitive userinterface of the apparatus is a touchscreen display of the portablecommunication device. It will be appreciated that the touch sensitiveuser interface allows a user of the apparatus to interact with theapparatus. For example, the user of the apparatus may provide an inputto the apparatus on a graphical user interface that is rendered on thetouch sensitive user interface.

The apparatus further comprises a processor. The processor of theapparatus is operable to receive one or more inputs provided by the userof the apparatus using the touch sensitive user interface and provide acorresponding response. For example, the input comprises an instructionto launch an application (or “app”) installed on the portablecommunication device. In such instance, the input instruction isprovided by the user using a tap contact (or “gesture”) on an iconassociated with the application that is presented on the touch sensitiveuser interface of the apparatus.

In an embodiment, an input provided by the user comprises an instructionto launch a gaming application. In such instance, the processor isconfigured to start the gaming application (or game) subsequent toreceiving the input provided by the user. Further, the processor isconfigured to render a graphical user interface (or user interface)associated with the game on the touch sensitive user interface. In anexample, the game can be one of an action game, a role-playing game(RPG), a strategy game, a shooting game, a puzzle game and so forth. Itwill be appreciated that the game may comprise a playing field that isrendered on the user interface. Further, the playing field may compriseone or more objects, such as characters, that are controlled by the user(or player) of the apparatus. Additionally, the playing field can alsocomprise one or more obstacles, such as walls, to restrict movement ofthe one or more objects to specific areas within the playing field.Optionally, the playing field comprises one or more elements, such asstars, health pick-ups or ammunition pick-ups, to provide assistance tothe player and/or increase a score associated with performance of theplayer. Moreover, the user interface may also present one or moreindicators to provide information to the player, such as informationassociated with a score of the game or health of the objects.

In an example, the game comprises a player-controlled object and one ormore other objects (such as enemy characters). In one embodiment, theone or more other objects are controlled by other players of the game.Alternatively, the one or more other objects are computer-controlled,such as, using an artificial intelligence (A) algorithm.

In one example, the objects possess various skills or abilities that areused by the player of the game to accomplish a goal. For example, theobjects possess one or more weapons that can be used to eliminate otherobjects from the game. Such skills or abilities may be activated by theplayer of the game using one of a plurality of pre-determined contactswith the touch sensitive user interface of the apparatus. The processormay be configured to determine the pre-determined contacts in a mannerexplained herein below.

The processor is configured to detect a first contact with the userinterface at a first position on the user interface. In one embodiment,the processor can record the first position of the first contact. Forexample, in one embodiment, the first position of the first contact mayrefer to a location co-ordinates in the user interface such as XYco-ordinates. Position (0,0) could refer to top left corner of the userinterface (i.e. a touch screen/a display of a device) and (MaxX, 0) totop right corner, (0, MaxY) to bottom left corner and (MaxX, MaxY) tobottom right corner wherein MaxX is a number of pixels in horizontaldirection of the user interface and MaxY is a number of pixels invertical direction of the user interface. The co-ordinate system usedmay be arbitrary units. For example, the co-coordinate system can bedefined to be such that in the horizontal direction (X direction) theco-ordinates start from 0 and go defined number of units such as 1000and in a horizontal direction and in vertical direction (Y-direction)the co-ordinates start from 0 and go the other defined number of unitssuch as 500. This way co-ordinate system thus position of the contactcan be defined independent of screen size and resolution of the userinterface. The first contact may refer to touching the user interfacewith a finger or another pointer. In alternate embodiments, and suitablemethod can be used to record the first position.

The processor is configured to detect a movement of the first contactwithin the user interface from the first position to a second position.For example, this might be movement of the finger from a first position(X1=100, Y1=120) to a second position (X2=70, Y2=140). The processor isfurther configured to determine a distance between the first positionand the second position. For example, and referring to above values ofX1, Y1, X2, Y2, the distance could be in X-direction 30 units and inY-direction 20 units. Further the distance could be from point (X1, Y1)to (X2, Y2) calculated as sqrt(30{circle around ( )}2+20{circle around( )}2)=36 units.

Further, the processor is configured to detect a release of the firstcontact from the user interface. In one embodiment, the processor isconfigured to execute a move of a first object on the user interface oran action on the second object when the release is detected.

For example, in one embodiment, the processor is configured to comparethe determined distance of the movement between the first position andthe second position to a pre-determined movement threshold or distancethreshold. Further, the processor is configured to determine a type ofthe first contact and an action to be executed on the user interfacewith respect to a first object rendered on the user interface based onthe comparison. In one embodiment, a range of the predetermined movementthreshold can be between approximately 3% to and including approximately12% of a distance between opposite sides of the user interface. A rangeof a movement that is less than the predetermined movement threshold canbe less than approximately 12% of a distance between opposite sides ofthe user interface. Preferably range of predetermined movement thresholdis between 4%-8% of the distance between opposite sides of the userinterface. More preferably 6% of the distance between opposite sides ofthe user interface.

For example, and using above values X1, Y2, X2, Y2, if thepre-determined movement or distance threshold is 40 units the determineddistance (36) is less than the pre-determined distance threshold. If thepre-determined distance threshold is 32 units then the determineddistance (36) is larger than the pre-determined distance threshold.

In one embodiment, when the determined distance is less than thepre-determined distance threshold, the type of first contact isdetermined to be a move instruction and the first object is configuredto move from a current position on the user interface to an area of thesecond position. According to the embodiment the movement action isexecuted when a release of the first contact from the user interface isdetected. The area of the second position may refer to an area, whichcentre point is the second position where the release of the finger tookplace from the user interface. The area could be for example area of 5×5units. In an example, the pre-determined distance threshold is 5% ofwidth (x-direction when the user interface is in landscape orientation)of the user interface. If the width is for example 1000 units, thepre-determined distance threshold would be 50 units. In such instance,upon determination of the determined distance being less than 50 unitssecond (such as 10 units), the processor is configured to determine thetype of first contact to be the move instruction. It will be appreciatedthat the first object (such as a player-controlled character) may berendered at a pre-determined location on the user interface upon startof the game. In an example, the first object is located in a centralarea of the playing field at the start of the game. Further, the playerof the game may be required to move the first object to other locationsof the playing field, such as to collect a reward or escape an attackfrom another object. In such instance, the player performs a “move”contact (i.e. the finger does not move at all or the movement does notexceed the predetermined distance threshold) on a desired area of theuser interface to move the object from its current location, such as thecentral area, to the area of the first contact (i.e. an areacorresponding to the place where the finger was released from the userinterface), or the desired area. It will be appreciated that themovement of the first object using such contact made by the playerallows elimination of requirement of controls (such as virtualkeyboards) to be presented on the user interface. Further, suchelimination of the controls provides more area for displaying elementsand/or information associated with the game. Additionally, such movementof the first object by the contact made by the first player allowsfaster response, thereby enabling fast-paced, exciting and moreenjoyable games to be provided to players.

In an embodiment, when the determined distance is greater than thepre-determined movement or distance threshold, the type of the firstcontact is determined to be an action instruction and the first objectis configured to execute an action on the user interface other thanincluding a move. In an instance when the pre-determined distancethreshold is 50 units (such as 5% of x-direction distance) second andthe distance between the first position and the second position is morethan 50 units, the type of the first contact is determined to be anaction instruction.

In one example, the type of first contact is a touch-and-move fingercontact (or “action contact”) by the player on the touch sensitive userinterface. In another example, the first object is configured to executethe action to eliminate one or more of other objects from the game.According to an embodiment, the action comprises firing by the firstobject on another object presented on the user interface. For example,the first object discharges one or more projectiles (such as bullets)from a weapon possessed thereby towards another object (such as acharacter controlled by another player) on the user interface. Accordingto the embodiment the action is executed when a release of the firstcontact from the user interface is detected.

According to an embodiment, when it is determined that the first actionis the action instruction the processor is further configured togenerate an indicator, such as a sector on the user interface, thesector defining a path for the action executed by the first object andthe sector having direction from a current position of the first contacttowards a direction associated with the second position, or the positionof the second contact. In one embodiment, the current position of thefirst contact is an approximate end point or second position of themovement of the first contact. The sector is can be generated from theposition of the first object in a direction towards the second positionof the first contact. The sector area overlaps in this embodiment withthe co-ordinate points of the second position. Alternatively, thedirection of the sector from the first object might be related to adirection from the first position to the second position.

As an example, if the first object is at co-ordinates (200,50) and afirst position is at co-ordinates (10,20) and a second position is atco-ordinates (10, 100) the sector would direct to direction ofy-direction in the user interface from the current position of the firstobject. It will be appreciated that the one or more objects in theplaying field may have different orientations with respect to each otherat various times of the game. For example, the first object may be in anorientation that is obscured from a line of sight of another object thatthe player is required to eliminate to win the game. In such instance,the player is required to move the first object to change theorientation thereof to be in line of sight of the other object.Subsequently, the first object is required to fire at the other objectto eliminate the other object from the game. In such instance, theplayer executes an action type contact from the current position of thefirst object in the first direction (such as a direction of the otherobject) to generate a sector on the user interface. Alternatively, theplayer executes the action type contact from a position relative to thecurrent position of the first object. In one example, the user executesthe action type contact from one of left, right, below, or above thefirst object to generate the sector on the user interface. According toone embodiment the sector might be rendered on the user interface assoon as the determined distance from the first contact exceeds thepre-determined threshold. The action related to the sector (such asshooting at the direction to sector) might be executed when the releaseof the first contact from the user interface is detected.

According to an embodiment, in one embodiment either alone or incombination with the other embodiments described herein, the processoris further configured to render a trajectory line on the user interfacefrom the area of the first contact and in the direction of the secondposition. Alternatively, the trajectory line might be rendered from thefirst object to a direction which can be derived from relative positionsof the first position and the second position to each other. In anexample, the trajectory line defines the path of travel of projectilesfired by the first object towards the other object. In one embodiment,the processor is configured to execute the action when the processordetects the release of the first contact from the user interface. Forexample, upon release of contact from the user interface by the player,the projectiles are fired along the path defined by the trajectory linetowards the other object. It will be appreciated that such determinationof action instruction based on the type of contact allows fasterresponse, such as enabling the first object to quickly fire at anotherobject. Additionally, such determination of action instruction enablesreduction in use of gaming mechanics such as auto-aiming, auto-firingand so forth, thereby enabling a more exciting and enjoyable gamingexperience.

In an embodiment, the processor is further configured to detect arotational movement contact on the user interface following the actionand to rotate the sector in a direction on the user interfacecorresponding to the rotational movement. For example, the other objectmay have changed its orientation with respect to the first object duringmovement of the first object. Consequently, the player is required toadjust the path of travel of the projectiles fired by the first objectin response to the change in orientation of the other object. In suchinstance, upon executing the action to generate the sector, the playerexecutes a rotational movement contact to rotate the sector in a desireddirection. In one example, rotational movement contact is executedwithout release of contact. In one embodiment, the rotational movementcontact is executed by contact of one or more fingers of the playerinside an area defined by the sector. Alternatively, the rotationalmovement contact is executed by contact of one or more fingers of theplayer in a position relative to the area defined by the sector. Forexample, one or more fingers of the player contact the touch sensitiveuser interface at left, right, above or below the area defined by thesector to execute the rotational movement contact. Additionally, suchrotational movement contact allows the player to rotate the sector in aclockwise direction and/or in an anti-clockwise direction.

According to an embodiment, the processor is configured to render acontrol object on the user interface, the control object beingconfigured to be rotated in one or more of a clockwise andcounter-clockwise direction to rotate the sector in one or more of theclockwise or counter-clockwise direction. In one example, the controlobject is a control button that can be moved within a circular area. Insuch instance, position of the control button with respect to a defaultposition thereof (such as a centre of the circular area) within thecircular area determines the rotation of the sector in one or more of aclockwise and counter-clockwise direction. In another example,displacement of the control button from the centre of the circular areamay determine one or more attributes (such as speed or damage output) ofprojectiles fired by the first object. In such instance, a largerdisplacement of the control button from the default position in thecircular area may fire projectiles at a higher speed as compared to asmaller displacement of the control button from the default position. Inan example, the control object is a virtual joystick that is rendered onthe user interface. The player may be required to rotate the virtualjoystick in the clockwise and/or the counter-clockwise direction torotate the sector.

In one embodiment, the processor is configured to detect a pattern drawnin a first direction from the current position of the first object overthe user interface following the first contact, for defining a path foran action to be executed by the first object. In an example, the firstobject has one or more additional weapons (such as grenades) that can befired thereby towards another object. However, the trajectory of the oneor more additional weapons may not constitute a linear path. In suchinstance, the player draws a pattern on the user interface for definingthe path for firing the one or more additional weapons. In anembodiment, the processor is further configured to determine a distanceon the user interface from the area of the first contact to an area ofthe release, wherein the distance determines a reach of the action. Inanother embodiment, the processor is further configured to render atrajectory arc on the user interface from the area of the first contactand along the pattern drawn over the user interface. In an example, theplayer executes a flicking action on the user interface, such that theflicking action constitutes a short circular arc. In such instance, thedistance on the user interface from the area of the first contact to thearea of the release may define thereach of one or more projectiles firedby the first object in response to the flicking action.

According to one embodiment, the processor is configured to render oneor more buttons on the user interface. For example, the one or morebuttons are associated with special actions or abilities that can beactivated by the player by performing a tap contact thereon. In anexample, the special actions are gained by the first object bycollection of rewards (such as stars) that are located at various areason the user interface and/or by eliminating other players.

In one embodiment, the processor is configured to detect more than onecontact with the user interface. In an example, the more than onecontact with the user interface is associated with the player usingmultiple fingers to play the game. In one example, the player performstap contacts on multiple areas of the user interface using more than onefinger to define a path for movement of the first object.

The present description also relates to a method for controlling a userinterface of a computing apparatus, the computing apparatus comprising aprocessor configured to execute machine readable instructions, whereinexecution of the machine-readable instructions by the processor causesthe processor to detect a first contact with the user interface. In oneembodiment, the processor records a first position of the first contact.Further, the processor detects a movement of the first contact from thefirst position to a second position and determines a distance of themovement, or the distance between the first position and the secondposition. Additionally, the processor compares the determined distanceto a pre-determined movement or distance threshold and determines a typeof the first contact. If the movement is less than a predeterminedmovement threshold, when a release of the first contact is detected, afirst object on the user interface is moved from an initial position onthe user interface to an area at or near the first position. If themovement is greater than the predetermined movement threshold a secondposition corresponding to an area near an end point of the movement isidentified, and when the release of the first contact is detected, anaction is executed on the second position from the first object. Thearea near an end point of the movement can correspond to circular areawith radius X or other geometrical area such as a square with width Ysurrounding the point where the release of the first contact isdetected. The radius X (or the width Y of the square) can be for example1%-20%, 3%-10% or 3%-5% of total width of the user interface.

In an embodiment, the action executed by the processor comprises causingthe first object to fire on another object presented on the userinterface.

According to one embodiment, execution of the machine-readableinstructions causes the processor to present an indicator on the userinterface that extends from the first object towards the end point whenthe determined movement is greater than the predetermined movementthreshold. In one embodiment, the indicator has an origin correspondingto a current location of the first object and an end that moves with themovement of the first contact.

For example, the processor can be caused to generate a sector on theuser interface, the sector defining a path for the action executed bythe first object. The sector can have a direction from a currentposition towards a direction associated with the second position. Theassociation might refer to be from the current position to the secondposition. Alternatively, the association might refer to comparingrelative position of the second position to the first position (makingdirection vector from the first position to second position and usingthat as a direction of the sector from the current position).

In one embodiment, execution of the machine-readable instructions causesthe processor to render a trajectory line on the user interface from thearea of the first contact and in the direction associated with thesecond position, the trajectory line having a direction from a currentposition towards a direction associated with the second position. Theassociation might refer to be from the current position to the secondposition. Alternatively, the association might refer to comparing therelative position of the second position to the first position (makingdirection vector from the first position to second position and usingthat as a direction of the trajectory line from the current position).

In an embodiment, execution of the machine-readable instructions by theprocessor causes the processor to detect a rotational movement contacton the user interface to rotate the sector on the user interface in adirection corresponding to the rotational movement.

According to an embodiment, execution of the machine-readableinstructions causes the processor to render a control object on the userinterface, to detect a rotation of the control object in one or more ofa clockwise and counter-clockwise direction, and to rotate the sector inone or more of the clockwise or counter-clockwise directioncorresponding to the detected rotation.

In one embodiment, execution of the machine-readable instructions causesthe processor to execute the action when the processor detects therelease of the first contact from the user interface.

According to one embodiment, execution of the machine-readableinstructions causes the processor to determine a distance on the userinterface from the area of the first contact to an area of the release,wherein the distance determines a reach of the action.

The apparatus and method enable determination of the type of contactwith the user interface by comparison of the distance of movementbetween the first position and the second position to a pre-determineddistance threshold. Such determination enables easy identification ofvarious types of contact that can be made by the user (such as movementor action) with the user interface. Further, the pre-determined distancethreshold can be varied, allowing increased adaptability indetermination of types of contact. Additionally, the action to beexecuted on the user interface with respect to the first object renderedon the user interface is determined based on the comparison. Suchcomparison enables faster determination of the action to be performed bythe first object, thereby enabling a more exciting and enjoyable gamingexperience. Moreover, such determination of the types of contacteliminates a requirement of on-screen controls, thereby enablingde-cluttering of the user interface and allowing more area to beprovided for presentation of important elements and/or informationassociated with a game.

Detailed Description of the Drawings

FIG. 1 is a block diagram of an apparatus 100, in accordance with anembodiment of the present disclosure. As shown, the apparatus 100comprises a touch sensitive user interface 102, a processor 104 and adistance determination unit 106.

FIGS. 2A, 2B and 2C are a user interface 200 of the apparatus 100 ofFIG. 1, in accordance with an embodiment of the present disclosure. Asshown, the user interface 200 comprises a playing field 202 and a firstobject 204 (player-controlled character). The playing field 202 furthercomprises other objects 206 (character controller by another player) and208 (computer-controlled character). The playing field 202 alsocomprises various obstacles, such as a wall 210. As shown, the userinterface 200 further comprises indicators 212 and a button 214.Referring to FIG. 2A a first contact 216 is detected with the userinterface 200 at a first position (X1, Y1). In one embodiment, amovement of the first contact 216 is detected and the distance of themovement from the first position of the first contact 216 is determined.If the movement stays within a circle C 217 having mid point (X1, Y1)and a radius of pre-determined distance threshold d, a type of the firstcontact 216 is determined to be a move instruction. In this example, theradius d shown in FIG. 2A defines the predetermined movement thresholdor distance.

In this example, the move instruction is configured to cause the firstobject 204 to move from an area of its current position 224 on the userinterface 200 to an area of the first contact 216 when a release of thefirst contact 216 from the user interface is detected. The area of thefirst contact can refer to area at or proximity of the point where therelease of the first contact 216 from the user interface is detected.The area can substantially same as the circle C 217.

Referring also to FIG. 2B, in one embodiment, if the detected movementof the first contact 216 from the first position (X1, Y1) is determinedto extend or go outside of the circle C 217 having the mid point (X1,Y1), the circle C 217 representing the radius d of the pre-determineddistance threshold, a type of the first contact 216 is determined to bean action contact.

In this example, as shown in FIG. 2B, a sector 226 is rendered in theuser interface 200. In the example of FIG. 2B, the sector 226, which isgenerally illustrated as a cone shape, extends in a direction that hasan origin at or near the position 224 of the first object 204. The otherend of the sector 226, which in this example is wider than the origin,generally extends to an area at or near the second position (X2, Y2).

In one embodiment, the sector 226 can be generated when a release of themovement from the user interface 200 is detected. In an alternateembodiment, the sector 226 can be generated as soon the movement isdetermined to extend beyond the radius d. For example, this include whenthe distance between (X1, Y1) and (X2, Y2), or from (X1, Y1) to (X2, Y2)is determined to be greater than d. Although the illustration of thesector 226 is generally shown herein as a cone shape indicator, theaspects of the disclosed embodiments are not so limited. In alternateembodiments, the sector 226 can be presented on the user interface 200in any suitable form that generally illustrate a region or area wherethe action can take place, as that is further described herein.

An action, such as shooting, is executed when a release from the userinterface is detected. The shooting takes place in the direction of thesector 226. Alternatively (as illustrated in FIG. 2C) the apparatus canbe configured to render the sector 226 in a direction of a directionvector v in respect to the first object 204. The direction vector v is avector defined by co-ordinates (X1, Y1) and (X2, Y2).

In the example of FIG. 2A, for the type of the first contact 216 to be amove instruction, the “movement” of the first contact 216 can be anymovement that does not extend further than the radius r of the circle C217. This “movement”can include any movement within the circle C 217, orno movement at all.

For example, in one embodiment, the first contact 216 can move anydetermined distance for any extent of time within the circle C 217. Thiscan include a rotational movement, such as a circular movement of thefirst contact 216, for any number of rotations. As long as the movementof the first contact 216 does not extend beyond the radius d of thecircle C 217, before a release of the first contact 216, the type of thefirst contact 216 will be determined to be a move instruction.

As another example, the movement of the first contact 216 could be aback and forth movement. Here again, as long as the movement does notpass beyond the boundary of the circle C 217, defined by the radius d,before the release of the first contact 216, the type of the firstcontact 216 will be determined to be a move instruction.

In this embodiment, the movement could also be no movement at all. Forexample, the first contact 216 could be a substantially stationarycontact at a point or position within the circle C 217. In this example,the type of the movement will also be determined to be a moveinstruction.

In one embodiment, if at any time prior to a release of the firstcontact 216 it is detected that the movement goes beyond the radius d ofthe circle C 217, the type of movement will be determined to be anaction instruction. For example, the movement of the first contact 216is determined to traverse the boundary of the circle C 217, as definedby the radius d, representing the predetermined movement threshold. Atthis point, the movement of the first contact 216 will be determined tobe an action movement, as that is generally defined herein.

In one embodiment, even if the movement of the first contact 216 goesback within the boundary of the circle C 217 defined by the radius dafter the movement is determined to extend beyond the boundary, the typeof movement will be determined to be an action instruction. Thus,referring to the example of FIG. 2B, if the movement of the firstcontact 216 extends to approximately the point (X2, Y2) beyond theradius d and then back to approximately (X1, Y1) within the radius d,before a detection of the release of the first contact 216 from the userinterface 200, the type of movement will be determined to be a moveinstruction.

In other words, if the movement of the first contact 216 extends beyondthe radius d at any time before a release of the first contact 216 isdetected, even if slightly and only momentarily, the type of movementwill be determined to an action instruction. If the movement of thefirst contact 216 remains within the confines of the boundary of thecircle C 217, defined by the radius d, no matter how much movement thereis, the type of movement will be determined to be a move instruction.

The pre-determined movement threshold, defined by the radius d in FIG.2A, can be a user defined threshold. The value should be set so that thevalued is the minimum movement value. Thus, if the movement goes outsideof or beyond the radius d, the movement is an action type instruction.If the movement remains within the boundary of radius d, the movement isa movement type of instruction. Further the pre-determined movementthreshold can be a boarder of any arbitrary shape i.e. it is not limitedto a circle with a radius. The shape can be oval, rectangular,triangular etc. In case of three dimensional (3D) displays the shape caninclude any geometrical 3D object such as sphere or cube wherein thepre-determined movement threshold would be an outer surface of suchgeometrical shape.

FIG. 3 is a user interface 300 of the apparatus 100 of FIG. 1, inaccordance with another embodiment of the present disclosure. As shown,a sector 306 has been rendered in a first direction from the currentposition 304 of the first object 204 over the user interface 300. Thesector 306 defines a path for the action 308 executed by the firstobject 204. Further, the action 308 comprises firing by the first object204 on another object 208 on the user interface 300. Additionally, atrajectory line 310 is rendered on the user interface 300 from the areaof the current position 304) and in the direction of a second position302.

FIG. 4 is a user interface 400 of the apparatus 100 of FIG. 1, inaccordance with yet another embodiment of the present disclosure. Asshown, a rotational movement 402 of a first contact 404 has beendetected on the user interface 400. Further, the sector 302 is rotatedin a direction on the user interface 400 corresponding to the rotationalmovement 402.

FIG. 5 is a user interface 500 of the apparatus 100 of FIG. 1, inaccordance with an embodiment of the present disclosure. As shown, arotational movement contact 502 is detected on the user interface 500,wherein the rotational movement contact 502 is made above an areadefined by the sector 306. Further, the sector 306 is rotated in adirection on the user interface 500 corresponding to the rotationalmovement 502.

FIG. 6 is a user interface 600 of the apparatus 100 of FIG. 1, inaccordance with another embodiment of the present disclosure. As shown,a control object 602 is rendered on the user interface 600, the controlobject 602 configured to be rotated in one or more of a clockwise andcounter-clockwise direction to rotate the sector 306 in one or more ofthe clockwise or counter-clockwise direction.

FIG. 7 is a user interface 700 of the apparatus 100 of FIG. 1, inaccordance with yet another embodiment of the present disclosure. Asshown, a pattern 702 drawn has been detected on the user interface 700,the pattern 702 defining a path for an action 704 executed by the firstobject 204. Further, the action 704 comprises discharging a projectilealong the path defined by the drawn pattern 702.

FIG. 8 illustrates steps of a method 800 for controlling a userinterface of a computing apparatus. The computing apparatus comprises aprocessor configured to execute machine readable instructions. At step802, a first contact with the user interface is detected. At step 804, afirst position of the first contact is recorded. At step 806, a movementof the first contact (point) within the user interface from the firstposition to a second position is detected. At step 808, a distancebetween the first position and the second position is determined. Atstep 810, the determined distance compared to a pre-determined distancethreshold. At step 812, a type of the first contact and an action to beexecuted on the user interface with respect to a first object renderedon the user interface, are determined based on the comparison.

The steps 802 to 812 are only illustrative and other alternatives canalso be provided where one or more steps are added, one or more stepsare removed, or one or more steps are provided in a different sequencewithout departing from the scope of the claims herein, as illustratedabove.

Modifications to embodiments of the present disclosure described in theforegoing are possible without departing from the scope of the presentdisclosure as defined by the accompanying claims. Expressions such as“including”, “comprising”, “incorporating”, “have”, “is” used todescribe and claim the present disclosure are intended to be construedin a non-exclusive manner, namely allowing for items, components orelements not explicitly described also to be present. Reference to thesingular is also to be construed to relate to the plural.

1. An apparatus comprising: a user interface; a processorcommunicatively coupled to the user interface; and a memory configuredto store non-transitory machine readable instructions executable by theprocessor to render one or more objects on the user interface; whereinexecution of the machine readable instructions by the processor isfurther configured to cause the processor to: detect a first contactwith the user interface at a first position; determine a change inposition of the first contact from the first position on the userinterface to a second position on the user interface; determine amagnitude of the change in position; and if the processor determinesthat the magnitude of the change in position is within a first range ofvalues, the processor is configured to change a position of one of theone or more objects on the user interface from a current position to thefirst position; or if the processor determines that the magnitude of thechange in position is within a second range of values, the processor isconfigured to present a cone shaped object on the user interface with anorigin that extends from the current position towards the secondposition and cause an execution of a function on at least one other oneof the one or more objects rendered on the user interface.
 2. Theapparatus according to claim 1 wherein the function is executed on atleast one of the one or more objects at the second position.
 3. Theapparatus according to claim 1, wherein execution of the machinereadable instructions by the processor is further configured to causethe processor to determine that the origin of the cone shaped objectcorresponds to the current position of the object and that an end of thecone shaped object corresponds to the second position of the firstcontact.
 4. The apparatus according to claim 1, wherein execution of themachine readable instructions by the processor is further configured tocause the processor to determine a direction indicated by the coneshaped object and execute the function in the direction indicated. 5.The apparatus according to claim 1 wherein execution of the machinereadable instructions by the processor is further configured to causethe processor to: detect a rotational movement on the user interface androtate the cone shaped object corresponding to the detected rotationalmovement.
 6. The apparatus according to claim 5, wherein execution ofthe machine readable instructions by the processor is further configuredto cause the processor to detect a release of the rotational movement onthe user interface and further execute an action instruction on at leastone other object on the user interface.
 7. The apparatus according toclaim 1, wherein execution of the machine readable instructions by theprocessor is further configured to cause the processor to remove atleast one other object from presentation on the user interface duringexecution of the function.
 8. The apparatus according to claim 1,wherein execution of the machine readable instructions by the processoris further configured to cause the processor to render a control objecton the user interface, the control object being configured to be rotatedin one or more of a clockwise and counter-clockwise direction, whereinrotation of the control object is configured to cause a correspondingrotation of the cone shaped object in the one or more of the clockwiseor counter-clockwise direction.
 9. The apparatus according to claim 1,wherein execution of the machine readable instructions by the processoris further configured to cause the processor to render a trajectory lineon the user interface between the current position and the secondposition when the magnitude of the change in position is within thesecond range of values.
 10. The apparatus according to claim 1, whereinexecution of the machine readable instructions by the processor isfurther configured to cause the processor to determine a second distanceon the user interface between the current position and the secondposition when the magnitude of the change in position is determined tobe within the second range of values, wherein the processor isconfigured to use the second distance to determine a reach of theexecution of the function.
 11. A method for controlling a user interfaceof a computing apparatus, the computing apparatus comprising a processorconfigured to execute machine readable instructions, wherein executionof the machine readable instructions by the processor causes theprocessor to perform the method of: rendering one or more objects on theuser interface detecting a first contact with the user interface at afirst position on the user interface; determining a change in positionof the first contact from the first position on the user interface to asecond position on the user interface; determining a magnitude of thechange in position; and if the processor determines that the magnitudeof the change in position is within a first range of values, theprocessor is configured to change a position of one of the one or moreobjects on the user interface from a current position to the firstposition; or if the processor determines that the magnitude of thechange in position is within a second range of values, the processor isconfigured to present a cone shaped object on the user interface with anorigin that extends from the current position towards the secondposition and cause an execution of a function on at least one of the oneor more objects rendered on the user interface.
 12. The method accordingto claim 11, wherein the method further comprises identifying the originof the cone shaped object as the current position of the object and anend of the cone shaped object as the second position of the firstcontact.
 13. The method according to claim 11, where the method furthercomprises the processor determining a direction indicated by the coneshaped object and causing the execution of the function in the directionindicated.
 14. The method according to claim 11, wherein the methodfurther comprises executing the function on at least one of the one ormore objects at the second position.
 15. The method according to claim11, wherein the method further comprises detecting a rotational movementcontact on the user interface and rotating the cone shaped objectcorresponding to the detected rotational movement.
 16. The methodaccording to claim 15, wherein the method further comprises detecting arelease of the rotational movement contact on the user interface andfurther executing an action instruction on at least one other object onthe user interface.
 17. The method according to claim 11, wherein themethod further comprises rendering of a control object on the userinterface, the control object being configured to be rotated in one ormore of a clockwise and counter-clockwise direction and cause acorresponding rotation of the cone shaped object in the one or more ofthe clockwise or counter-clockwise direction.
 18. The method accordingto claim 11, wherein the method further comprises a rendering of atrajectory line on the user interface between the current position andthe second position when the magnitude of the change in position iswithin the second range of values.
 19. The method according to claim 11,wherein the method further comprises a determining of a second distanceon the user interface between the current position and the secondposition when the magnitude of the change in position is determined tobe within the second range of values, wherein the method includes usingthe second distance to determine a reach of the execution of thefunction.
 20. A computer program product comprising non-transitorycomputer readable instructions, the computer readable instructions beingconfigured to be executed by a computing device, wherein execution ofthe computer readable instructions by the computing device is configuredto cause the computing device to execute the method according to claim11.